// --------------------------------------------------------------------------------------------------------------------- 
// <copyright file="IWorkItemStoreRepository.cs" company="Scrum for Team System">
//   None
// </copyright>
// <summary>
//   Defines the IWorkItemStoreRepository type.
// </summary>
// ---------------------------------------------------------------------------------------------------------------------
namespace ScrumForTeamSystem.EventService.Infrastructure.Interfaces
{
    using Microsoft.TeamFoundation.WorkItemTracking.Client;

    /// <summary>
    /// Defines the work item store repository interface
    /// </summary>
    public interface IWorkItemStoreRepository : IMessageProducer
    {
        /// <summary>
        /// Gets the work item store.
        /// </summary>
        /// <param name="tfsAddress">The tfs uri.</param>
        /// <returns>An instance of the work item store service</returns>
        WorkItemStore GetWorkItemStore(string tfsAddress);

        /// <summary>
        /// Gets the work item store.
        /// </summary>
        /// <param name="tfsAddress">The tfs uri.</param>
        /// <param name="sessionId">The session id.</param>
        /// <returns>An instance of the work item store service</returns>
        WorkItemStore GetWorkItemStore(string tfsAddress, string sessionId);
    }
}